﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using Dtl;


namespace DMSWcfServices
{
    // NOTE: If you change the interface name "IDmsServices" here, you must also update the reference to "IDmsServices" in Web.config.
    [ServiceContract]
    public interface IDmsServices
    {
        [OperationContract]
        string getCCFOTReport(string ambient, string distributor, DateTime startDate, DateTime endDate);
        //FAR
        [OperationContract]
        List<Dtl.OrderInvoice> getOInvoiceReport(string distributor, DateTime startDate, DateTime endDate, string ambient);
        //FAR
        [OperationContract]
        List<Dtl.OrderItemsInvoice> getOItemsInvoiceReport(string distributor, DateTime startDate, DateTime endDate, string ambient);
        //FAR
        [OperationContract]
        List<Dtl.OrderItemsInvoice> getOItemsInvoiceByInvoiceReport(string distributor, DateTime startDate, DateTime endDate,string cdInvoice, string ambient);
        //FAR
        [OperationContract]
        List<Dtl.OrderInvoice_AUD> getOrderInvoice_AUD_Report(string distributor, string opcionReport_OI, DateTime startDate, DateTime endDate, string ambient);
        //FAR
        [OperationContract]
        List<Dtl.Surtidos> getSurtidosReport(string cdPais ,string ambient);
        //Eduardo:
        [OperationContract]
        String QuotaByDistributor(string ambient, string Distributor);
        [OperationContract]
        string getStockReport(string distributor, DateTime startDate, DateTime endDate, string status, string ambiente);
        //Eduardo:
        [OperationContract]
        String StoreByDistributor(string ambient, string Distributor);       
        [OperationContract]
        string getVisitReport(string distributor, DateTime startDate, DateTime endDate, string ambiente);
        [OperationContract]
        string getCabinetInventoryReport(string distributor, string ambiente);
        [OperationContract]
        string getRegionUserReport(string ambient, string distributor);
        [OperationContract]
        string getClassificationReport(string coutry, string ambiente);
        [OperationContract]
        string getDistributorsList(string ambient);
        [OperationContract]
        List<Dtl.Distributors> GetDistributorsDetails();
        [OperationContract]
        string getCountryList(string country);
        [OperationContract]
        string getCityReport(string ambient, string distributor);
        [OperationContract]
        string getProductReport(string ambient, string country);
        [OperationContract]
        string getImportClass(string country, string ambiente);
        [OperationContract]
        string getImportClassH(string country, string ambiente);
        [OperationContract]
        string getCurrency(string ambiente);
        [OperationContract]
        string getRouteReport(string ambient, string distributor);
        [OperationContract]
        string getConversion(int idCurrencyTo, int idCurrencyFrom, short nrYear, string ambiente);
        [OperationContract]
        int setConversion(Dtl.Conversion conversion, string ambiente);
        [OperationContract]
        int editConversion(Dtl.Conversion conversion, string ambiente);
        [OperationContract]
        string listConversion(string ambiente);
        [OperationContract]
        string getUnit(short idUnit, string ambiente);
        [OperationContract]
        string listUnit(string ambiente);
        [OperationContract]
        int editUnit(Dtl.Unit unit, string ambiente);
        [OperationContract]
        string getDistributorsFTPProgress(string ambient, string minRows);
        [OperationContract]
        string QuotaUByDistributor(string ambient, string country);
        [OperationContract]
        string getTriStateFTPReport(string ambient, DateTime startDate, DateTime endDate);
        [OperationContract]
        string getDistributorsFTPActivity(string ambient, DateTime startDate, DateTime endDate, bool date);
        [OperationContract]
        string getDistributorsFTPStatus(string ambient);
        [OperationContract]
        string getUnileverFTPStatus(string ambient);
        [OperationContract]
        bool SetTransactionUnit(List<Dtl.Unit> unit, string ambiente);
        [OperationContract]
        int deleteUnit(int idUnit, string ambiente);
    }
}
